package com.jt.www.admin.stats.service;

import com.jt.www.model.Insurancedata.*;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

@Service
public interface InsuranceDataService {

    /**
     * 同期投保情况明细表
     *
     * @param dataApiBean
     * @return
     * @throws Exception
     */
    MyPageInfo<PeriodinsVO> getPeriodinsList(DataApiBean dataApiBean) throws Exception;

    /**
     * 实责转化安责情况表
     *
     * @param dataApiBean
     * @return
     * @throws Exception
     */
    MyPageInfo<ConverVO> getConvertList(DataApiBean dataApiBean) throws Exception;

    /**
     * 安责险统计表
     *
     * @param dataApiBean
     * @return
     * @throws Exception
     */
    MyPageInfo<SafeinsVO> getSafeinsList(DataApiBean dataApiBean) throws Exception;

    /**
     * 业务同比情况表
     *
     * @param dataApiBean
     * @return
     * @throws Exception
     */
    MyPageInfo<BusinessGrewVO> getBusinessDataList(DataApiBean dataApiBean) throws Exception;

    /**
     * 统保示范项目业务统计
     *
     * @param dataApiBean
     * @return
     * @throws Exception
     */
    MyPageInfo<UnfiedInsureProjectV0> getUnfiedInsureProject(DataApiBean dataApiBean) throws Exception;

    /**
     * 统保附加险投保率统计
     *
     * @param dataApiBean
     * @return
     * @throws Exception
     */
    MyPageInfo<AdditionInsureRateV0> getAdditionInsureRate(DataApiBean dataApiBean) throws Exception;

    /**
     * 云南专用投保
     *
     * @param dataApiBean
     * @return
     * @throws Exception
     */
    MyPageInfo<YunnanSpecialVO> getYunnanSpecial(DataApiBean dataApiBean) throws Exception;

    /**
     * 汇总表
     */
    List<Object> getTotalStatus(DataApiBean dataApiBean) throws Exception;

    /**
     * 统保示范项目
     */
    List<Object> getUnitTotal(DataApiBean dataApiBean) throws Exception;

    /**
     * 区域统保
     */
    List<Object> getPartTotal(DataApiBean dataApiBean) throws Exception;

    /**
     * 延伸业务
     */
    List<Object> getExtend(DataApiBean dataApiBean) throws Exception;

    /**
     * 我学保
     */
    List<Object> getWoXueBao(DataApiBean dataApiBean) throws Exception;

    /**
     * 学平险
     */
    List<Object> getXuePing(DataApiBean dataApiBean) throws Exception;

    /**
     * 校车业务
     */
    List<Object> getSchoolBus(DataApiBean dataApiBean) throws Exception;

    /**
     * 安全咨询服务
     */
    List<Object> getConsult(DataApiBean dataApiBean) throws Exception;

    /**
     * 统计数据 excel 表导出
     *
     * @param dataApiBean
     * @param type
     * @param response
     * @throws Exception
     */
    void getDataByExcel(DataApiBean dataApiBean, String type, HttpServletResponse response) throws Exception;

    void getDataByExcelv2(DataApiBean dataApiBean, String type, HttpServletResponse response) throws Exception;
}
